package org.twdata.pipeline;

import java.io.File;
import java.io.FileInputStream;
import java.net.URL;

// java util imports:
import java.util.Iterator;
import java.util.List;

// TRaX imports:
import javax.xml.transform.Source;
import javax.xml.transform.Templates;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
// ambiguous with: com.oroad.stxx.transform.TransformerHandler
import javax.xml.transform.stream.StreamSource;
import org.apache.commons.logging.*;
import org.twdata.pipeline.cache.*;

/**  Manages XSL Templates */
public interface TemplatesManager {

    /**
     *  Gets the object to use to resolve paths
     *
     *@return The source resolver 
     */
    public SourceResolver getSourceResolver();

    /**
     *  Sets the object to use to resolve paths
     *
     *@param resolver The source resolver 
     */
    public void setSourceResolver(SourceResolver resolver);

    /**
     *  Gets a Templates object for a given path
     *
     *@param  factory  The SAX transformer factory
     *@param  path     The URL to the template
     *@return          The found templates
     */
    public Templates getTemplates(SAXTransformerFactory factory, String path);

}

